package com.ruoyi.audit.mapper;

import com.ruoyi.audit.domain.AmountDetailed;
import com.ruoyi.audit.domain.InventoryAmount;

import java.util.List;

public interface InventoryAmountMapper {
    /**
     * 插入库存金额记录表
     *
     * @param inventoryAmount 插入条件
     */
    void insertInventoryAmount(List<InventoryAmount> inventoryAmount);

    /**
     * 退回审核时删除之前插入的库存金额信息
     *
     * @param auditId 删除条件
     */
    void deleteInventorAmount(Long auditId);

    /**
     * 查询库存金额记录表
     *
     * @param companyId 查询条件
     * @return 结果
     */
    AmountDetailed selectInventorAmount(Long companyId);

    /**
     * 查询库存金额记录表(没有完全出库的)
     *
     * @param inventoryAmount 查询条件
     * @return 结果
     */
    List<InventoryAmount> selectInventorAmountList(InventoryAmount inventoryAmount);

    /**
     * 批量修改库存金额记录
     *
     * @param inventoryAmountList 结果
     */
    void updateInventoryAmountList(List<InventoryAmount> inventoryAmountList);

    /**
     * 查询库存金额记录表(出库完成,还有剩余的)
     *
     * @param inventoryAmount 查询条件
     * @return 结果
     */
    List<InventoryAmount> selectInventorAmountLists(InventoryAmount inventoryAmount);

    /**
     * 查询库存总金额
     *
     * @param deptId 查询的公司主键
     * @return 结果
     */
    InventoryAmount selectInventorAmountCount(Long deptId);

    Integer updateBatch(List<InventoryAmount> collect);
}
